package org.dromara.app.domain.bo;

import org.dromara.app.domain.SkYueJu;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import lombok.EqualsAndHashCode;
import jakarta.validation.constraints.*;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;

/**
 * 约局信息业务对象 sk_yue_ju
 *
 * @author Evacuation
 * @date 2024-07-23
 */
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = SkYueJu.class, reverseConvertGenerate = false)
public class SkYueJuBo extends BaseEntity {

    /**
     * ID
     */
    @NotNull(message = "ID不能为空", groups = { EditGroup.class })
    private Long id;

    /**
     * 类型
     */
    @NotBlank(message = "类型不能为空", groups = { AddGroup.class, EditGroup.class })
    private String type;

    /**
     * 标题
     */
    @NotBlank(message = "标题不能为空", groups = { AddGroup.class, EditGroup.class })
    private String title;

    /**
     * 详细
     */
    @NotBlank(message = "详细不能为空", groups = { AddGroup.class, EditGroup.class })
    private String content;

    /**
     * 图片
     */
    @NotBlank(message = "图片不能为空", groups = { AddGroup.class, EditGroup.class })
    private String image;

    /**
     * 地址
     */
    @NotBlank(message = "地址不能为空", groups = { AddGroup.class, EditGroup.class })
    private String address;

    /**
     * 经度
     */
    @NotBlank(message = "经度不能为空", groups = { AddGroup.class, EditGroup.class })
    private String longitude;

    /**
     * 纬度
     */
    @NotBlank(message = "纬度不能为空", groups = { AddGroup.class, EditGroup.class })
    private String latitude;

    /**
     * 总
     */
    @NotNull(message = "总不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long allUserNumber;

    /**
     * 男
     */
    @NotNull(message = "男不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long manNumber;

    /**
     * 女
     */
    @NotNull(message = "女不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long woman;

    /**
     * 开始时间
     */
    @NotNull(message = "开始时间不能为空", groups = { AddGroup.class, EditGroup.class })
    private Date startTime;

    /**
     * 活动标题
     */
    @NotBlank(message = "活动标题不能为空", groups = { AddGroup.class, EditGroup.class })
    private String activityTitle;

    /**
     * 活动地址
     */
    @NotBlank(message = "活动地址不能为空", groups = { AddGroup.class, EditGroup.class })
    private String activityAddress;

    /**
     * 活动开始时间
     */
    @NotBlank(message = "活动开始时间不能为空", groups = { AddGroup.class, EditGroup.class })
    private String activityStartTime;

    /**
     * 活动结束时间
     */
    @NotBlank(message = "活动结束时间不能为空", groups = { AddGroup.class, EditGroup.class })
    private String activityEndTime;

    /**
     * 活动营业时间
     */
    @NotBlank(message = "活动营业时间不能为空", groups = { AddGroup.class, EditGroup.class })
    private String activityTradeTime;

    /**
     * 使用开始时间
     */
    @NotBlank(message = "使用开始时间不能为空", groups = { AddGroup.class, EditGroup.class })
    private String activityUseStartTime;

    /**
     * 使用结束时间
     */
    @NotBlank(message = "使用结束时间不能为空", groups = { AddGroup.class, EditGroup.class })
    private String activityUseEndTime;

    /**
     * 男生价格
     */
    @NotNull(message = "男生价格不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long activityManPrice;

    /**
     * 女生价格
     */
    @NotNull(message = "女生价格不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long activityWomanPrice;

    /**
     * 活动规则
     */
    @NotBlank(message = "活动规则不能为空", groups = { AddGroup.class, EditGroup.class })
    private String activityRule;

    /**
     *
     */
    @NotNull(message = "不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long state;

    /**
     * 城市
     */
    @NotBlank(message = "城市不能为空", groups = { AddGroup.class, EditGroup.class })
    private String city;


    private Long isHall;

    /**
     * 查询源、
     * 1：审核中
     * 2：派对大厅
     * 3：已过期或者取消
     */
    private Long sourse;

    /**
     * 公告
     */
    private String notice;

    /**
     * 简介
     */
    private String synopsis;

}
